#pragma once

namespace bite
{
	class string
	{
	public:
		string(const char* str="")
			:_size(strlen(str))
			, _capacity(_size)
			//, _str(new char[_capacity + 1])
		{
			_str = new char[_capacity + 1];
			strcpy(_str, str);
		}
	private:
		char* _str;
		size_t _size;
		size_t _capacity;
	};



	void test1()
	{
		string s1("hello world!");
	}
}


//namespace bite
//{
//	class string
//	{
//	private:
//		char* _str;
//		size_t _size;
//		size_t _capacity;
//
//
//	public:
//		string(const char* str = "")
//			:_size(strlen(str))
//			, _capacity(_size)
//		{
//			_str = new char[_capacity + 1];
//			strcpy(_str, str);
//		}
//
//
//		~string()
//		{
//			_str = nullptr;
//			_size = _capacity = 0;
//		}
//
//		const char* c_str()
//		{
//			return _str;
//		}
//
//	};
//
//	void test()
//	{
//		string s1("hello world");
//		cout << s1.c_str() << endl;
//	}
//}